package com.xxgc.ssm.po;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class DeliveryClerkExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public DeliveryClerkExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andDcIdIsNull() {
            addCriterion("dc_id is null");
            return (Criteria) this;
        }

        public Criteria andDcIdIsNotNull() {
            addCriterion("dc_id is not null");
            return (Criteria) this;
        }

        public Criteria andDcIdEqualTo(Long value) {
            addCriterion("dc_id =", value, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdNotEqualTo(Long value) {
            addCriterion("dc_id <>", value, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdGreaterThan(Long value) {
            addCriterion("dc_id >", value, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdGreaterThanOrEqualTo(Long value) {
            addCriterion("dc_id >=", value, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdLessThan(Long value) {
            addCriterion("dc_id <", value, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdLessThanOrEqualTo(Long value) {
            addCriterion("dc_id <=", value, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdIn(List<Long> values) {
            addCriterion("dc_id in", values, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdNotIn(List<Long> values) {
            addCriterion("dc_id not in", values, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdBetween(Long value1, Long value2) {
            addCriterion("dc_id between", value1, value2, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcIdNotBetween(Long value1, Long value2) {
            addCriterion("dc_id not between", value1, value2, "dcId");
            return (Criteria) this;
        }

        public Criteria andDcNameIsNull() {
            addCriterion("dc_name is null");
            return (Criteria) this;
        }

        public Criteria andDcNameIsNotNull() {
            addCriterion("dc_name is not null");
            return (Criteria) this;
        }

        public Criteria andDcNameEqualTo(String value) {
            addCriterion("dc_name =", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameNotEqualTo(String value) {
            addCriterion("dc_name <>", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameGreaterThan(String value) {
            addCriterion("dc_name >", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameGreaterThanOrEqualTo(String value) {
            addCriterion("dc_name >=", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameLessThan(String value) {
            addCriterion("dc_name <", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameLessThanOrEqualTo(String value) {
            addCriterion("dc_name <=", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameLike(String value) {
            addCriterion("dc_name like", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameNotLike(String value) {
            addCriterion("dc_name not like", value, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameIn(List<String> values) {
            addCriterion("dc_name in", values, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameNotIn(List<String> values) {
            addCriterion("dc_name not in", values, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameBetween(String value1, String value2) {
            addCriterion("dc_name between", value1, value2, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcNameNotBetween(String value1, String value2) {
            addCriterion("dc_name not between", value1, value2, "dcName");
            return (Criteria) this;
        }

        public Criteria andDcPhoneIsNull() {
            addCriterion("dc_phone is null");
            return (Criteria) this;
        }

        public Criteria andDcPhoneIsNotNull() {
            addCriterion("dc_phone is not null");
            return (Criteria) this;
        }

        public Criteria andDcPhoneEqualTo(String value) {
            addCriterion("dc_phone =", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneNotEqualTo(String value) {
            addCriterion("dc_phone <>", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneGreaterThan(String value) {
            addCriterion("dc_phone >", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneGreaterThanOrEqualTo(String value) {
            addCriterion("dc_phone >=", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneLessThan(String value) {
            addCriterion("dc_phone <", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneLessThanOrEqualTo(String value) {
            addCriterion("dc_phone <=", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneLike(String value) {
            addCriterion("dc_phone like", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneNotLike(String value) {
            addCriterion("dc_phone not like", value, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneIn(List<String> values) {
            addCriterion("dc_phone in", values, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneNotIn(List<String> values) {
            addCriterion("dc_phone not in", values, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneBetween(String value1, String value2) {
            addCriterion("dc_phone between", value1, value2, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcPhoneNotBetween(String value1, String value2) {
            addCriterion("dc_phone not between", value1, value2, "dcPhone");
            return (Criteria) this;
        }

        public Criteria andDcGenderIsNull() {
            addCriterion("dc_gender is null");
            return (Criteria) this;
        }

        public Criteria andDcGenderIsNotNull() {
            addCriterion("dc_gender is not null");
            return (Criteria) this;
        }

        public Criteria andDcGenderEqualTo(String value) {
            addCriterion("dc_gender =", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderNotEqualTo(String value) {
            addCriterion("dc_gender <>", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderGreaterThan(String value) {
            addCriterion("dc_gender >", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderGreaterThanOrEqualTo(String value) {
            addCriterion("dc_gender >=", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderLessThan(String value) {
            addCriterion("dc_gender <", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderLessThanOrEqualTo(String value) {
            addCriterion("dc_gender <=", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderLike(String value) {
            addCriterion("dc_gender like", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderNotLike(String value) {
            addCriterion("dc_gender not like", value, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderIn(List<String> values) {
            addCriterion("dc_gender in", values, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderNotIn(List<String> values) {
            addCriterion("dc_gender not in", values, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderBetween(String value1, String value2) {
            addCriterion("dc_gender between", value1, value2, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcGenderNotBetween(String value1, String value2) {
            addCriterion("dc_gender not between", value1, value2, "dcGender");
            return (Criteria) this;
        }

        public Criteria andDcIdcardIsNull() {
            addCriterion("dc_idcard is null");
            return (Criteria) this;
        }

        public Criteria andDcIdcardIsNotNull() {
            addCriterion("dc_idcard is not null");
            return (Criteria) this;
        }

        public Criteria andDcIdcardEqualTo(String value) {
            addCriterion("dc_idcard =", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardNotEqualTo(String value) {
            addCriterion("dc_idcard <>", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardGreaterThan(String value) {
            addCriterion("dc_idcard >", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardGreaterThanOrEqualTo(String value) {
            addCriterion("dc_idcard >=", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardLessThan(String value) {
            addCriterion("dc_idcard <", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardLessThanOrEqualTo(String value) {
            addCriterion("dc_idcard <=", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardLike(String value) {
            addCriterion("dc_idcard like", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardNotLike(String value) {
            addCriterion("dc_idcard not like", value, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardIn(List<String> values) {
            addCriterion("dc_idcard in", values, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardNotIn(List<String> values) {
            addCriterion("dc_idcard not in", values, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardBetween(String value1, String value2) {
            addCriterion("dc_idcard between", value1, value2, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcIdcardNotBetween(String value1, String value2) {
            addCriterion("dc_idcard not between", value1, value2, "dcIdcard");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgIsNull() {
            addCriterion("dc_head_img is null");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgIsNotNull() {
            addCriterion("dc_head_img is not null");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgEqualTo(String value) {
            addCriterion("dc_head_img =", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgNotEqualTo(String value) {
            addCriterion("dc_head_img <>", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgGreaterThan(String value) {
            addCriterion("dc_head_img >", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgGreaterThanOrEqualTo(String value) {
            addCriterion("dc_head_img >=", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgLessThan(String value) {
            addCriterion("dc_head_img <", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgLessThanOrEqualTo(String value) {
            addCriterion("dc_head_img <=", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgLike(String value) {
            addCriterion("dc_head_img like", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgNotLike(String value) {
            addCriterion("dc_head_img not like", value, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgIn(List<String> values) {
            addCriterion("dc_head_img in", values, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgNotIn(List<String> values) {
            addCriterion("dc_head_img not in", values, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgBetween(String value1, String value2) {
            addCriterion("dc_head_img between", value1, value2, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcHeadImgNotBetween(String value1, String value2) {
            addCriterion("dc_head_img not between", value1, value2, "dcHeadImg");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolIsNull() {
            addCriterion("dc_and_school is null");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolIsNotNull() {
            addCriterion("dc_and_school is not null");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolEqualTo(Long value) {
            addCriterion("dc_and_school =", value, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolNotEqualTo(Long value) {
            addCriterion("dc_and_school <>", value, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolGreaterThan(Long value) {
            addCriterion("dc_and_school >", value, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolGreaterThanOrEqualTo(Long value) {
            addCriterion("dc_and_school >=", value, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolLessThan(Long value) {
            addCriterion("dc_and_school <", value, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolLessThanOrEqualTo(Long value) {
            addCriterion("dc_and_school <=", value, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolIn(List<Long> values) {
            addCriterion("dc_and_school in", values, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolNotIn(List<Long> values) {
            addCriterion("dc_and_school not in", values, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolBetween(Long value1, Long value2) {
            addCriterion("dc_and_school between", value1, value2, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcAndSchoolNotBetween(Long value1, Long value2) {
            addCriterion("dc_and_school not between", value1, value2, "dcAndSchool");
            return (Criteria) this;
        }

        public Criteria andDcValidIsNull() {
            addCriterion("dc_valid is null");
            return (Criteria) this;
        }

        public Criteria andDcValidIsNotNull() {
            addCriterion("dc_valid is not null");
            return (Criteria) this;
        }

        public Criteria andDcValidEqualTo(String value) {
            addCriterion("dc_valid =", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidNotEqualTo(String value) {
            addCriterion("dc_valid <>", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidGreaterThan(String value) {
            addCriterion("dc_valid >", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidGreaterThanOrEqualTo(String value) {
            addCriterion("dc_valid >=", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidLessThan(String value) {
            addCriterion("dc_valid <", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidLessThanOrEqualTo(String value) {
            addCriterion("dc_valid <=", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidLike(String value) {
            addCriterion("dc_valid like", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidNotLike(String value) {
            addCriterion("dc_valid not like", value, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidIn(List<String> values) {
            addCriterion("dc_valid in", values, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidNotIn(List<String> values) {
            addCriterion("dc_valid not in", values, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidBetween(String value1, String value2) {
            addCriterion("dc_valid between", value1, value2, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcValidNotBetween(String value1, String value2) {
            addCriterion("dc_valid not between", value1, value2, "dcValid");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeIsNull() {
            addCriterion("dc_create_time is null");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeIsNotNull() {
            addCriterion("dc_create_time is not null");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeEqualTo(Date value) {
            addCriterion("dc_create_time =", value, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeNotEqualTo(Date value) {
            addCriterion("dc_create_time <>", value, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeGreaterThan(Date value) {
            addCriterion("dc_create_time >", value, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("dc_create_time >=", value, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeLessThan(Date value) {
            addCriterion("dc_create_time <", value, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("dc_create_time <=", value, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeIn(List<Date> values) {
            addCriterion("dc_create_time in", values, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeNotIn(List<Date> values) {
            addCriterion("dc_create_time not in", values, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeBetween(Date value1, Date value2) {
            addCriterion("dc_create_time between", value1, value2, "dcCreateTime");
            return (Criteria) this;
        }

        public Criteria andDcCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("dc_create_time not between", value1, value2, "dcCreateTime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}